#ifndef _OPENGLAPPFRAMEWORK_SCENECONFIG_H_
#define _OPENGLAPPFRAMEWORK_SCENECONFIG_H_

#include "json/inc/json.hpp"
#include "OpenglAppFramework/inc/GameObject.h"
#include "OpenglAppFramework/inc/PlugIn/PlugIn.h"

// 对有默认值的字段写入默认值
void addDefaultValue(nlohmann::json& val);

// 把json中的数据写入TransformInfo
void json2TransformInfo(const nlohmann::json& val, TransformInfo& trans);
void json2TransformInfoWithDefault(const nlohmann::json& val, TransformInfo& trans);

// 根据plugin的内容，创建对应类型的plugin对象
PlugIn* createPlugInByJson(const std::string& name, const nlohmann::json& val);

void json2Vec3(const nlohmann::json& js, glm::vec3& v);

#endif//_OPENGLAPPFRAMEWORK_SCENECONFIG_H_
